package com.cxt.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 司机
 * </p>
 *
 * @author baomidou
 * @since 2025-02-27
 */
@TableName("driver_info")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DriverInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * 身份证号
     */
    private String idCardNumber;
    /**
     * 身份证正面URL
     */
    private String idCardFrontUrl;
    private String idCardBackUrl;
    /**
     * 驾驶证号
     */
    private String drivingLicenseNumber;
    /**
     * 驾驶证URL
     */
    private String drivingLicenseUrl;
    /**
     * 车牌号
     */
    private String vehicleNumber;
    /**
     * 车辆品牌
     */
    private String vehicleBrand;
    /**
     * 车辆型号
     */
    private String vehicleModel;
    /**
     * 车辆颜色
     */
    private String vehicleColor;
    /**
     * 车辆照片URL
     */
    private String vehiclePhotoUrl;
    /**
     * 行驶证URL
     */
    private String vehiclePermitUrl;
    /**
     * 状态
     * 0：未审核，1：审核通过，2：审核不通过
     */
    private Integer status;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 创建用户
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    /**
     * 修改用户
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;
}
